package com.briup.corejava.day03;

/**
 * 操作符
 * 1、运算
 * 2、赋值
 * 3、比较
 */
public class Test3 {
    public static void main(String[] args) {
        // + 号的使用补充
        System.out.println(1+1);
        System.out.println("1"+1);
        // ++ 的使用
        int a = 10;
        System.out.println(a++);
        // a++ 代表先使用变量a ，然后再进行自增
        // ++a 代表先自增，然后再使用变量a

        // 面试题1
        int x = 4;
        int y = (x--) + (--x) + (x * 10);
        System.out.println("x: " + x); // x: ?
        System.out.println("y: " + y); // y: ?

        // 面试题2
        byte b = 10;
        b++; // 隐藏的细节可以解决类型的转换问题
        b = (byte) (b + 1);

        // 赋值操作符 以+=为例
        byte b1 = 10;
        b1++;
        b1+= 1.01; // 注意这里的警告
        System.out.println("b1 = " + b1); // 12

        double b2 = 12.0;
        b2%=5; // 注意除法和取余的数据类型
        System.out.println("b2 = " + b2);

        // 比较操作符
        // 比较操作符的表达式的结果，是boolean类型
        // a instanceof B
        // 左侧变量a的类型是否是右侧B的引用类型（当前）
        String s = "星期三";
        System.out.println(s instanceof String);

        // == 基本数据类型，左右两侧的数值是否相等
        System.out.println('\u3300' > '中');
    }
}
